package hehe.container.definition.node;

import hehe.container.build.xml.tag.Tag;
import hehe.container.definition.Element;
import hehe.container.definition.node.Node;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * xml Map标签节点解析类
 *<B>说明：</B>
 *<pre>
 * 略
 *</pre>
 *<B>示例：</B>
 *<pre>
 *  略
 *</pre>
 *<B>日志：</B>
 *<pre>
 *  略
 *</pre>
 *<B>注意事项：</B>
 *<pre>
 *  略
 *</pre>
 */
public class MapNode extends Node
{
    @Override
    public Object parse(Element ele)
    {
        List<Map<String,Object>> entrys = (ArrayList<Map<String,Object>>)ele.getChildNode();

        Map<String,Object> attrValue = new HashMap<>();
        for (int i = 0,j = entrys.size(); i < j;i++) {
            Map<String,Object> entry = entrys.get(i);
            Element entryEle = Element.make(entry);
            attrValue.put(entryEle.getAttribute(Tag.ENTRY_KEY_ATTRIBUTE),entryEle.getValue());
        }

        return attrValue;

    }
}
